#ifndef TDA_DNS_H_INCLUDED
#define TDA_DNS_H_INCLUDED
#include "arbol de busqueda.h"
#include "Listasimple.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"

typedef struct tda_dns {

    TListaSimple* lista_dns;

} TDADNS;

typedef struct elem_lista {

    TAB_BUSQ* arbol_dns;

} Telem_lista_dns;

typedef struct elem_dns {

    char* nombre_dominio;
    void* dato;

} Telem_dns;


int crearDNS(TDADNS *dns, size_t tamDato);

void destruirDNS(TDADNS *dns);

int agregarDominio(TDADNS *dns, char* dominio, void* dato);

void obtenerValor(TDADNS* dns, char* dominio, void* dato);

int existeDominio(TDADNS* dns, char* dominio);

void eliminarDominio(TDADNS *dns, char* dominio);

int escribirLogDNS(TDADNS dns, FILE* archivo);


/* funciones auxiliares */
int buscar_dominio (TDADNS* dns, Telem_dns* paquete_dominio, void* elem_encontrado);

int fn_comparadora_elementos_dns (Telem_dns* elem1, Telem_dns* elem2);


#endif /* TDA_DNS_H_INCLUDED*/
